package com.luoc.spring.visitPattern;

/**
 * @author luoc
 * @version 1.0
 * @date 2021/3/19 9:35
 * @since 1.0
 * 在访问者模式（Visitor Pattern）中，我们使用了一个访问者类，它改变了元素类的执行算法。通过这种方式，
 * 元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式，元素对象已接受访问者对象，
 * 这样访问者对象就可以处理元素对象上的操作。
 *
 * 举例:
 * 不同的职工，计算加班工时的薪酬不一样，使用访问者自带的算法，可以随着计算员工的不同而改变执行的算法
 *
 */
public class Test {

    public static void main(String[] args) {
        Staff staff = new Engineer();

        Visitor visitor = new VisitorImpl();

        staff.accept(visitor);
    }
}
